package com.zyx.crawlerdemo.jsoup.jsoupparse;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

/**
 * @author Yaxi.Zhang
 * @since 2021/8/12 09:45
 * desc: element获取元素的基本方法案例
 */
public class ElementTest {

	public static void main(String[] args) throws IOException {
		// 获取URL对应的Document
		Document doc = Jsoup.connect("http://www.********.com.cn/b.asp").timeout(5000).get();
		// 设置输出文档的字符集
		doc.outputSettings().charset("gbk");
		// 基于id获取元素
		Element elementId = doc.getElementById("course");
		// 基于标签名称获取元素集合
		Elements elementTag = doc.getElementById("course").getElementsByTag("a");
		// 基于属性获取元素集合
		Elements elementA = doc.getElementById("course").getElementsByAttribute("href");
		// 通过类名获取元素集合
		Elements elements = doc.getElementsByClass("browserscripting");
		// 基于属性前缀获取元素集合
		Elements elementAs = doc.getElementsByAttributeStarting("hre");
		// 基于属性与属性值获取元素
		Elements elementAv = doc.getElementsByAttributeValue("id","tools");
		// 获取兄弟元素集合
		Elements elementSe = doc.getElementById("navfirst").siblingElements();
		// 获取下一个兄弟元素
		Element elementNs = doc.getElementById("navfirst").nextElementSibling();
		// 获取上一个兄弟元素
		Element elementPs = doc.getElementById("navfirst").previousElementSibling();
	}

}
